These user prototypes (protoArrayEditorVtHick, protoLabelEditPickerVtHick and
protoLabelEditInputLine) are Shareware. Any programmer using these protos in
their programs must send 2 times the cost of their program or $795 which ever
is lower to Hardy Macia, 1413 Surrey Lane, Wynnewood PA 19096. This means
that authors of Freeware can use these protos for free and authors of
commercial programs might possibly pay as much as $795 for the use of these
protos. Shareware authors need not pay until they have received more 10
shareware fees. Postcardware authors need only send me one postcard. This 
license is on a per package basis so if you create 1 commercial package and
one freeware package and one shareware package using my prototypes These
prices can be negotiated with the Hardy Macia. 

I can also be reached at:

 HardyMacia@eWorld.com          <-not work-> (610) 649-2487
 macia@sinbad.navsses.navy.mil   <-work->    (215) 897-8545
 
protoArrayEditorVtHick, protoLabelEditPickerVtHick and
protoLabelEditInputLine are copyrighted )1994 by
and all rights are reserved by Hardy Macia.

protoArrayEditorVtHick - interface between program and user for modifying of 
						 arrays.

    confirmChange	Optional. Default True. Will ask for confirmation after
					user press Change button because Changing items is most
					likely undoable.
    Setup			Required. Must be called after the :Open message is
    				sent to protoArrayEditVtHick. The parameters are
    					targetView - specifies the view to which arrayEditor
									 messages are sent
					 	arrayLabel - label for the kind of array - this
					 				 is prepended to title.
					 	theArray   - the array to be modified. (This array 
					 				 is not mangled)
	title			Optional. The title of the array editor window.

	ArrayEditorChanged  Required Script of targetView as specified in the
						Setup() method.
						
						See description in protoLabelEditInputLine.
	
	ArrayEditorCounter	Required Script of targetView as specified in the
						Setup() method.
						
						See description in protoLabelEditInputLine.
									 				 





protoLabelEditInputLine - a protoInputLabelLine with the added feature of
						the user being able to edit the labelCommands. This
						proto requires protoArrayEditorVtHick to work. 
						protoArrayEditorVtHick must be declared as
						arrayEditorVtHick in the a parent view.
	
	labelCommands -		Optional. You might want to give the user a few
						starting items.
	
	ArrayEditorChanged  This script must handle the changing of the data from
						oldItem to newItem for actions of type 'Change. For
						actions of type 'Remove and 'Add nothing should be
						required, but you never know.
						Parameters:
							action - symbol ('Change, 'Remove, or 'Add) the
									 action the user performed to the array.
							newArray - the new array
							oldItem - item changed, item removed, or item
									  added
							newItem - item changed to or nil
							status - static text view to display status of 
									 change
	
	ArrayEditorCounter	Required Script. passed array item that needs to be
						counted. This function should return the number of
						entries equal to item. Zero should be returned if no
						entries where found. The symbol 'itemsExist can be
						returned if items are found but you do not want to
						waste time counting every item.

protoLabelEditPickerVtHick - a protoLabelPicker with the added feature of
						the user being able to edit the labelCommands. This
						proto requires protoArrayEditorVtHick to work. 
						protoArrayEditorVtHick must be declared as
						arrayEditorVtHick in the a parent view.
	
	label - 			To make my protos a little more consistent. I added 
						label. Label is what needs to be set for the label,
						NOT the text as with Apple's protoLabelPicker.
	
	labelCommands -		Optional. You might want to give the user a few
						starting items.
	
	ArrayEditorChanged  This script must handle the changing of the data from
						oldItem to newItem for actions of type 'Change. For
						actions of type 'Remove and 'Add nothing should be
						required, but you never know.
						Parameters:
							action - symbol ('Change, 'Remove, or 'Add) the
									 action the user performed to the array.
							newArray - the new array
							oldItem - item changed, item removed, or item
									  added
							newItem - item changed to or nil
							status - static text view to display status of 
									 change
	
	ArrayEditorCounter	Required Script. passed array item that needs to be
						counted. This function should return the number of
						entries equal to item. Zero should be returned if no
						entries where found. The symbol 'itemsExist can be
						returned if items are found but you do not want to
						waste time counting every item.


